100 REM *** GEOCHECK - PT 2 *** 105 REM *** FLORIAN MUELLER *** 110 REM 115 REM BASED ON THE PROGRAM "GEOS FILE-ANALYZER" (C=-BUCH "ALLES UEBER GEOS") 120 : 125 : 130 CLR:FOR F=49152 TO 49189:READ X:POKEF,X:NEXT 135 SYS 49152 140 DATA 169 ,11, 160, 192, 141, 38, 3, 140, 39 145 DATA3, 96, 201, 65, 144 150 DATA9,201,91,176,5,73 ,32, 76, 202, 241,201,97,144,249,201,123,176,245 155 DATA73,32,76,202,241,255 160 PRINT"":C$=" ":FORF=1TO6:C$=C$+C$:NEXT 165 SS$=CHR$(160):FORF=1TO4:SS$=SS$+SS$:NEXT 170 M$="GEOS "+CHR$(102)+CHR$(111)+CHR$(114)+CHR$(109)+CHR$(97)+CHR$(116)+" V1.0" 175 DIMD$(150),T$(150),S$(150),DS(150),DB(150),FD$(7),FS$(1),FG$(14),IB$(256) 180 DIMR$(20) 185 FOR F=0 TO 7:READ FD$(F):NEXT 190 DATA DEL,SEQ,PRG,USR,REL,???,???,??? 195 FS$(0)="SEQUENTIELL":FS$(1)="VLIR" 200 FOR F=0 TO 14:READ FG$(F):NEXT 205 DATA "C= PRG","BASIC-PROGRAMM",ASSEMBLERPROG.,REINE DATEN,SYSTEMDATEI 210 DATA HILFSPROGRAMM,ANWENDUNG,DOKUMENT,SCHRIFTART,DRUCKERTREIBER 215 DATA EINGABETREIBER,DISK-TREIBER,STARTPROGRAMM,TEMPORAER,SELBSTAUSFUEHREND 220 GOTO 325 225 REM SUB 230 POKE806,202:POKE807,241:RETURN 235 DS=1:P=1:OPEN1,8,15:OPEN2,8,2,"#" 240 PRINT#1,"U1 2 0 18";DS 245 GET#2,NT$:GET#2,NS$:NT$=NT$+CHR$(0) 250 FORI=0TO7:IF P>1 THEN PRINT"";P-1 255 PRINT#1,"B-P 2";I*32+2 260 GET#2,TY$:TY$=TY$+CHR$(0):IFTY$=CHR$(0)ORTY$=CHR$(128)THEN280 265 PRINT#1,"B-P 2";I*32+5 270 FORJ=1TO16:GET#2,A$:D$(P)=D$(P)+A$:NEXT:DS(P)=DS:DB(P)=I*32 275 GET#2,T$:GET#2,S$:T$(P)=T$+CHR$(0):S$(P)=S$+CHR$(0):P=P+1 280 NEXT:IFP>149THEN290 285 IFNT$<>CHR$(0)THENDS=ASC(NS$):GOTO240 290 CLOSE2:CLOSE1:P=P-1:RETURN 295 OPEN1,8,15:OPEN2,8,2,"#" 300 PRINT#1,"U1 2 0 18 0" 305 PRINT#1,"B-P 2 173":I$="" 310 FORI=1TO16:GET#2,A$:I$=I$+A$:NEXT 315 CLOSE2:CLOSE1:RETURN 320 : 325 REM *** HAUPTPROGRAMM *** 330 : 335 PRINT"[147]GEO[195]HECK TEIL 2 (CHECK SCRAP ERSTELLEN)[146]" 340 PRINT:PRINT" VON [198]LORIAN [205]UELLER ([205]ARKT & [212]ECHNIK)" 345 PRINT" AUTOR VON 'C64 - ALLES UEBER GEOS 1.2' UND 'C64 - GEOS 1.3 DEUTSCH' 350 [153]" PEEKITTE EINE CHR$VAL(null)(null)-STR$ISKETTE EINLEGEN UND <(null)VAL(null)(null)(null)(null)> DRUECKEN" 355 [151]53296,0:[151]53265,27 360 [161]A$:[139]A$[179][177][199](13)[167]360 365 [141]225:[141]295:[139]I$[179][177]M$[167] 350 370 [153]"LOAD STR$IRECTORY WIRD GELESEN. WAIT" 375 [153]" _ ATNNZAHL DER GELESENEN ASCILEEINTRAEGE" 380 [141]235:O[178]1 385 : 390 : 395 [153]"LOAD ASCILE ZUR PEEKEARBEITUNG AUSWAEHLEN " 400 [153]" STR$ISK ENTHAELT ";P;"CMD WAIT ASCILE";:[139][181](P)[179][177]1[167][153]"S"; 405 [153]"." 410 [153]" LEN(null)(null)(null)(null)(null) (null)(null)WAIT 1 ASCILE ZURUECK":[153]" LEN(null)(null)(null)(null)(null) STR$(null)(null)(null)WAIT 1 ASCILE VOR" 415 [153]" (null)VAL(null)(null)(null)(null)WAIT ASCILE NEHMEN":[153]" ASC1WAIT (null)EUE STR$ISKETTE" 420 [158]49152:[153]"";C$:[153]"ONASCILE #";O;": ";D$(O) 425 [161]A$:[139]A$[178]""[167]425 430 [139]A$[178]"ON"[167]O[178]O[171]1:[139]O[178]0[167]O[178]P 435 [139]A$[178]""[167]O[178]O[170]1:[139]O[177]P[167]O[178]1 440 [139]A$[178]"INPUT"[167][138]135 445 [139]A$[179][177][199](13)[167]420 450 [139]T$(O)[179][177][199](0)[167][153]:[153]:[153]:[137]480 455 [153]"LOAD(null)EIN CHR$VAL(null)(null)-ASCILE !" 460 [153] 465 [153]"<(null)VAL(null)(null)(null)(null)>" 470 [161]A$:[139]A$[179][177][199](13)[167]470 475 [137] 395 480 : 485 N$[178]"":I[178]1 490 [139] [202](D$(O),I,1)[178][199](160) [167] 500 495 N$[178]N$[170][202](D$(O),I,1):I[178]I[170]1:[139] I[179][178]16 [167] 490 500 FE$[178]"":[141]225 505 [159] 1,8,15,"I":[159] 2,8,2,"#" 510 [152]1,"U1 2 0 18";DS(O) 515 [152]1,"B-P 2";DB(O) 520 [129] F[178]1 [164] 32 525 :[161]#2,A$:[139] A$[178]"" [167] A$[178][199](0) 530 :FE$[178]FE$[170]A$ 535 [130] 540 [160]1:[160]2 545 IT[178][198]([202](FE$,22,1)[170][199](0)) 550 IS[178][198]([202](FE$,23,1)[170][199](0)) 555 FG[178][198]([202](FE$,25,1)[170][199](0)) 560 DY[178][198]([202](FE$,26,1)[170][199](0)) 565 DM[178][198]([202](FE$,27,1)[170][199](0)) 570 DD[178][198]([202](FE$,28,1)[170][199](0)) 575 DH[178][198]([202](FE$,29,1)[170][199](0)) 580 MI[178][198]([202](FE$,30,1)[170][199](0)) 585 [153] "FILEEINTRAG #";O 590 [153] "FILEEINTRAG AUF SPUR 18/BLOCK";DS(O) 595 [153] "INFO-BLOCK AUF SPUR";IT;"/SEKTOR";IS 600 [153] "GEOS-FILETYP: "; 605 [139] FG[177]14 [167] [153] "FUEHRT ZU ABSTURZ"; 610 [139] FG[179][178]14 [167] [153] FG$(FG); 615 [153] " (";FG;")" 620 [153] "DATUM DER LETZTEN MODIFIKATION:" 625 [153] [201]([196](DD[170]100),2);".";[201]([196](DM[170]100),2);".";DY[170]1900; 630 [153] " ";[201]([196](DH[170]100),2);".";[201]([196](MI[170]100),2) 635 [141]225 640 [153]:[153]:[153]"NUN WIRD DER INFO-BLOCK EINGELESEN.":[153] 645 : 650 [159] 1,8,15,"I":[159] 2,8,2,"#" 655 [152]1,"U1 2 0";IT;IS 660 [152]1,"B-P 2 0" 665 : 670 [129] F[178]1 [164] 256 675 [161]#2,A$:[139] A$[178]"" [167] A$[178][199](0) 680 IB$(F)[178]A$ 685 [130] 690 : 695 [160]1:[160]2 700 : 701 [159]1,8,0,D$(O)[170]",P,R":[161] #1,B1$,B2$:[160]1 702 [139] B1$[178]"" [167] B1$[178][199](0) 703 [139] B2$[178]"" [167] B2$[178][199](0) 704 [153]"BYTE #1:"[198](B1$):[153]"BYTE #2:"[198](B2$) 705 [143] *** INFO-BLOCK STEHT JETZT *** 710 [143] *** IM ARRAY IB$() *** 715 : 720 : 725 [143] *** ABLEGEN DER EINGELESENEN 730 [143] *** DATEN IN EINEM CHECK SCRAP 735 : 740 [153]"PEEKITTE NUN EINE (null)IELDISKETTE FUER DAS" 745 [153]"GEOLENHECK-ASCILE EINLEGEN. STR$IESE STR$ISKETTE" 750 [153]"MUSS NICHT DAS CHR$VAL(null)(null)-ASCORMAT AUFWEISEN." 755 : 760 [153]"" 765 [151]653,0:[146]653,1 770 [159]1,8,15,"S:CHECK SCRAP" 775 [132]1,A,A$,B,C:[153]"DISK:"A;A$;B;C 780 [160]1:[139] A[177]19 [167] [144] 785 [160]1:[159]2,8,2,"CHECK SCRAP,P,W" 790 [152]2,[199](FG)[199](DY)[199](DM)[199](DD)[199](DH)[199](MI); 791 [139] B1$[178]"" [167] B1$[178][199](0) 792 [139] B2$[178]"" [167] B2$[178][199](0) 793 [152]2,B1$;B2$; 795 [129] F[178]1 [164] 256:[152]2,IB$(F);:[130] 800 [160]2 805 [153]"SCHREIBVORGANG ABGESCHLOSSEN.":[141]225:[128]